home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / include / incl98.zoo / mintbind.h < prev    next >
C/C++ Source or Header  |  1994-03-29  |  18KB  |  501 lines

  1. #ifndef _MINTBIND_H
  2. #define _MINTBIND_H
  3.  
  4. #ifndef _OSBIND_H
  5. #include <osbind.h>
  6. #endif
  7.  
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12. #ifdef __TURBOC__
  13.  
  14. /* we supply a library of bindings for TurboC / PureC */
  15.  
  16. int Syield( void );                /* GEMDOS 0xff */
  17. int Fpipe( short *ptr );            /* GEMDOS 0x100 */
  18. long Fcntl( int f, long arg, int cmd);        /* GEMDOS 0x104 */
  19. #define Fcntl(f, arg, cmd) Fcntl(f, (long)(arg), cmd)
  20. long Finstat( int f );                /* GEMDOS 0x105 */
  21. long Foutstat( int f );                /* GEMDOS 0x106 */
  22. long Fgetchar(int f, int mode);            /* GEMDOS 0x107 */
  23. long Fputchar( int f, long c, int mode );     /* GEMDOS 0x108 */
  24. long Pwait( void );                /* GEMDOS 0x109 */
  25. int Pnice( int delta );                /* GEMDOS 0x10a */
  26. int Pgetpid( void );                /* GEMDOS 0x10b */
  27. int Pgetppid( void );                /* GEMDOS 0x10c */
  28. int Pgetpgrp( void );                /* GEMDOS 0x10d */
  29. int Psetpgrp(int pid, int newgrp);        /* GEMDOS 0x10e */
  30. int Pgetuid( void );                /* GEMDOS 0x10f */
  31. int Psetuid( int id );                /* GEMDOS 0x110 */
  32. int Pkill( int pid, int sig );            /* GEMDOS 0x111 */
  33. long Psignal(int sig, long handler);        /* GEMDOS 0x112 */
  34. long Pvfork( void );                /* GEMDOS 0x113 */
  35. int Pgetgid( void );                /* GEMDOS 0x114 */
  36. int Psetgid(int id);                /* GEMDOS 0x115 */
  37. long Psigblock(unsigned long mask);        /* GEMDOS 0x116 */
  38. long Psigsetmask(unsigned long mask);        /* GEMDOS 0x117 */
  39. long Pusrval(long arg);                /* GEMDOS 0x118 */
  40. int Pdomain(int newdom);            /* GEMDOS 0x119 */
  41. void Psigreturn( void );            /* GEMDOS 0x11a */
  42. long Pfork( void );                /* GEMDOS 0x11b */
  43. long Pwait3(int flag, long *rusage);        /* GEMDOS 0x11c */
  44. int Fselect(unsigned int timeout, long *rfds, long *wfds, long *xfds); /* GEMDOS 0x11d */
  45. int Prusage( long r[8] );            /* GEMDOS 0x11e */
  46. long Psetlimit(int lim, long value);        /* GEMDOS 0x11f */
  47. long Talarm( long secs );            /* GEMDOS 0x120 */
  48. void Pause( void );                /* GEMDOS 0x121 */
  49. long Sysconf( int n );                /* GEMDOS 0x122 */
  50. long Psigpending( void );            /* GEMDOS 0x123 */
  51. long Dpathconf( const char *name, int n );    /* GEMDOS 0x124 */
  52. long Pmsg( int mode, long mbox, void *msg );     /* GEMDOS 0x125 */
  53. long Fmidipipe( int pid, int in, int out );    /* GEMDOS 0x126 */
  54. int Prenice( int pid, int delta );        /* GEMDOS 0x127 */
  55. long Dopendir( const char *name, int flag );    /* GEMDOS 0x128 */
  56. long Dreaddir( int buflen, long dir, char *buf); /*GEMDOS 0x129 */
  57. #define Dreaddir(buflen, dir, buf) Dreaddir(buflen, (long)(dir), buf)
  58. long Drewinddir( long dir );            /* GEMDOS 0x12a */
  59. #define Drewinddir(dir) Drewinddir((long)(dir))
  60. long Dclosedir( long dir );            /* GEMDOS 0x12b */
  61. #define Dclosedir(dir) Dclosedir((long)(dir))
  62. long Fxattr( int flag, char *name, void *buf );    /* GEMDOS 0x12c */
  63. long Flink( char *oldname, char *newname );    /* GEMDOS 0x12d */
  64. long Fsymlink( char *oldname, char *newname );    /* GEMDOS 0x12e */
  65. long Freadlink( int siz, char *buf, char *name); /*GEMDOS 0x12f */
  66. long Dcntl( int cmd, char *name, long arg );    /* GEMDOS 0x130 */
  67. long Fchown( char *name, int uid, int gid);    /* GEMDOS 0x131 */
  68. long Fchmod( char *name, int mode );        /* GEMDOS 0x132 */
  69. int Pumask( int mask );                /* GEMDOS 0x133 */
  70. long Psemaphore(int mode, long id, long timeout); /* GEMDOS 0x134 */
  71. int Dlock( int mode, int drive );        /* GEMDOS 0x135 */
  72. void Psigpause( unsigned long mask);        /* GEMDOS 0x136 */
  73. long Psigaction(int sig, long act, long oact);    /* GEMDOS 0x137 */
  74. #define Psigaction(sig, act, oact) \
  75.     Psigaction(sig, (long)(act), (long)(oact))
  76. int Pgeteuid( void );                /* GEMDOS 0x138 */
  77. int Pgetegid( void );                /* GEMDOS 0x139 */
  78. long Pwaitpid(int pid, int flag, long *rusage);    /* GEMDOS 0x13a */
  79. long Dgetcwd(char *path, int drv, int size);    /* GEMDOS 0x13b */
  80. long Salert(char *msg);                /* GEMDOS 0x13c */
  81.  
  82. #else /* !__TURBOC__ */
  83.  
  84. #ifdef __LATTICE__
  85.  
  86. void _vmv(int);
  87. short _smv(int);
  88. int _imv(int);
  89. long _lmv(int);
  90.  
  91. int _im8(int,long[8]);
  92. void _vml(int,long);
  93. short _sms(int,int);
  94. short _smr(int,short *);
  95. long _lms(int,int);
  96. long _lml(int,long);
  97. long _lmu(int,unsigned long);
  98. long _lmp(int,void *);
  99. long _lmC(int,const char *);
  100.  
  101. void _vmls(int,long,int);
  102. short _smss(int,int,int);
  103. short _smsl(int,int,long);
  104. short _smls(int,long,int);
  105.  
  106. long _lmss(int,int,int);
  107. long _lmsl(int,int,long);
  108. long _lmsp(int,int,void *);
  109. long _lmps(int,void *,int);
  110. long _lmCs(int,const char *,short);
  111. long _lmpp(int,void *,void *);
  112. long _lmCC(int,const char *,const char *);
  113.  
  114. short _smsls(int,int,long,int);
  115. int _imssq(int,int,int,long *);
  116. long _lmsss(int,int,int,int);
  117. long _lmsls(int,int,long,int);
  118. long _lmsll(int,int,int,long);
  119. long _lmslp(int,int,long,void *);
  120. long _lmspl(int,int,void *,long);
  121. long _lmsCl(int,int,const char *,long);
  122. long _lmspp(int,int,void *,void *);
  123. long _lmspC(int,int,void *,const char *);
  124. long _lmlss(int,long,int,int);
  125. long _lmCss(int,const char *,int,int);
  126. long _lmcss(int,char *,int,int);
  127. short _smsqqq(int,int,long *,long *,long *);
  128.  
  129. #pragma inline _vmv((short))    {register d2,a2; "4e41";}
  130. #pragma inline d0=_smv((short))    {register d2,a2; "4e41";}
  131. #pragma inline d0=_imv((short))    {register d2,a2; "4e41";}
  132. #pragma inline d0=_lmv((short))    {register d2,a2; "4e41";}
  133.  
  134. #pragma inline d0=_im8((short),)    {register d2,a2; "4e41";}
  135. #pragma inline _vml((short),)    {register d2,a2; "4e41";}
  136. #pragma inline d0=_sms((short),(short))    {register d2,a2; "4e41";}
  137. #pragma inline d0=_smr((short),)    {register d2,a2; "4e41";}
  138. #pragma inline d0=_lms((short),(short))    {register d2,a2; "4e41";}
  139. #pragma inline d0=_lml((short),)    {register d2,a2; "4e41";}
  140. #pragma inline d0=_lmu((short),)    {register d2,a2; "4e41";}
  141. #pragma inline d0=_lmp((short),)    {register d2,a2; "4e41";}
  142. #pragma inline d0=_lmC((short),)    {register d2,a2; "4e41";}
  143.  
  144. #pragma inline _vmls((short),,(short))    {register d2,a2; "4e41";}
  145. #pragma inline d0=_smss((short),(short),(short))    {register d2,a2; "4e41";}
  146. #pragma inline d0=_smsl((short),(short),)    {register d2,a2; "4e41";}
  147. #pragma inline d0=_smls((short),,(short))    {register d2,a2; "4e41";}
  148. #pragma inline d0=_lmss((short),(short),(short))    {register d2,a2; "4e41";}
  149. #pragma inline d0=_lmsl((short),(short),)    {register d2,a2; "4e41";}
  150. #pragma inline d0=_lmsp((short),(short),)    {register d2,a2; "4e41";}
  151. #pragma inline d0=_lmps((short),,(short))    {register d2,a2; "4e41";}
  152. #pragma inline d0=_lmCs((short),,(short))    {register d2,a2; "4e41";}
  153. #pragma inline d0=_lmpp((short),,)    {register d2,a2; "4e41";}
  154. #pragma inline d0=_lmCC((short),,)    {register d2,a2; "4e41";}
  155.  
  156. #pragma inline d0=_smsls((short),(short),,(short))    {register d2,a2; "4e41";}
  157. #pragma inline d0=_imssq((short),(short),(short),)    {register d2,a2; "4e41";}
  158. #pragma inline d0=_lmsss((short),(short),(short),(short))    {register d2,a2; "4e41";}
  159. #pragma inline d0=_lmsls((short),(short),,(short))    {register d2,a2; "4e41";}
  160. #pragma inline d0=_lmsll((short),(short),(short),)    {register d2,a2; "4e41";}
  161. #pragma inline d0=_lmlss((short),,(short),(short))    {register d2,a2; "4e41";}
  162. #pragma inline d0=_lmslp((short),(short),,)    {register d2,a2; "4e41";}
  163. #pragma inline d0=_lmspl((short),(short),,)    {register d2,a2; "4e41";}
  164. #pragma inline d0=_lmsCl((short),(short),,)    {register d2,a2; "4e41";}
  165. #pragma inline d0=_lmspp((short),(short),,)    {register d2,a2; "4e41";}
  166. #pragma inline d0=_lmspC((short),(short),,)    {register d2,a2; "4e41";}
  167. #pragma inline d0=_lmlss((short),,(short),(short))    {register d2,a2; "4e41";}
  168. #pragma inline d0=_lmCss((short),,(short),(short))    {register d2,a2; "4e41";}
  169. #pragma inline d0=_lmcss((short),,(short),(short))    {register d2,a2; "4e41";}
  170. #pragma inline d0=_smsqqq((short),(short),,,)    {register d2,a2; "4e41";}
  171.  
  172. #define Syield() _smv(0xff)
  173. #define Fpipe(a) _smr(0x100, a)
  174. #define Fcntl(a, b, c) _smsls(0x104, a, (long)b, c)
  175. #define Finstat(a) _lms(0x105, a)
  176. #define Foutstat(a) _lms(0x106, a)
  177. #define Fgetchar(a, b) _lmss(0x107, a, b)
  178. #define Fputchar(a, b, c) _lmsls(0x108, a, b, c)
  179. #define Pwait() _lmv(0x109)
  180. #define Pnice(a) _sms(0x10a, a)
  181. #define Pgetpid() _smv(0x10b)
  182. #define Pgetppid() _smv(0x10c)
  183. #define Pgetpgrp() _smv(0x10d)
  184. #define Psetpgrp(a, b) _smss(0x10e, a, b)
  185. #define Pgetuid() _smv(0x10f)
  186. #define Psetuid(a) _sms(0x110, a)
  187. #define Pkill(a, b) _smss(0x111, a, b)
  188. #define Psignal(a, b) _lmsl(0x112, a, b)
  189. #define Pvfork() _smv(0x113)
  190. #define Pgetgid() _smv(0x114)
  191. #define Psetgid(a) _sms(0x115, a)
  192. #define Psigblock(a) _lmu(0x116, a)
  193. #define Ps